package com.ct.ecommerce.api.goods.client;

import com.ct.ecommerce.api.goods.dto.GoodsDTO;
import com.ct.ecommerce.api.goods.dto.GoodsQueryDTO;
import com.ct.ecommerce.framework.core.response.PageUI;
import java.util.List;

/**
 * @author changtong
 * @since 2021/5/19
 */
public interface GoodsService {

    /**
     * 根据商品id查询商品
     *
     * @param goodsId 商品id
     * @return 商品对象
     */
    GoodsDTO findGoodsById(Long goodsId);


    /**
     * 商品库存扣减
     * @param params
     */
    void deductGoodsStock(List<GoodsDTO> params);


    /**
     * 获取商品列表
     * @return
     */
    PageUI<GoodsDTO> findGoodsPage(GoodsQueryDTO query);
}
